#include<iostream>
#include<fcntl.h>
#include<unistd.h>

using namespace std;
void SetNoBlock(int fd)
{
  int f1=fcntl(fd,F_GETFL);//获取当前文件描述符的flags
  if(f1<0)
  {
    cerr<<" 获取 flag 失败 "<<endl;
  }
  fcntl(fd,F_SETFL,f1|O_NONBLOCK); //建立文件描述符为非阻塞状态
}
int main()
{
  SetNoBlock(0);
  string str1;
  while(1)
  {
    char buffer[1024]={0};
    ssize_t size=read(0,buffer,sizeof(buffer)-1);
    if(size<0)
    {
      cerr<<" 数据还没有就绪 "<<endl;
      sleep(1);
      continue;
    }
  cout<<buffer<<endl;
  }
  return 0;
}
